home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 October: Mac OS SDK / Dev.CD Oct 96 SDK / Dev.CD Oct 96 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / ODFDev / ODF / Framewrk / FWSemEvt / Include / FWScpCol.h < prev    next >
Encoding:
Text File  |  1996-08-16  |  3.4 KB  |  121 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWScpCol.h
  4. //    Release Version:    $ ODF 1 $
  5. //
  6. //    Copyright:            (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #ifndef FWSCPCOL_H
  11. #define FWSCPCOL_H
  12.  
  13. #ifndef FWSCPTBL_H
  14. #include "FWScptbl.h"
  15. #endif
  16.  
  17. // ----- ODF Foundation Includes -----
  18.  
  19. #ifndef FWTCOLL_H
  20. #include "FWTColl.h"
  21. #endif
  22.  
  23. //========================================================================================
  24. //    Forward Declarations
  25. //========================================================================================
  26.  
  27. //========================================================================================
  28. //    class FW_CScriptableCollection
  29. //========================================================================================
  30.  
  31. class FW_CScriptableCollection :  public FW_MScriptable                                     
  32. {
  33. public:
  34.     FW_DECLARE_CLASS
  35.     FW_DECLARE_AUTO(FW_CScriptableCollection)
  36.     
  37.     // ----- Construction/Destruction -----
  38.     
  39.     FW_CScriptableCollection();
  40.     
  41.     virtual ~FW_CScriptableCollection();
  42.  
  43.     // ----- Reference Counting -----
  44.  
  45.     virtual long AcquireScriptable();
  46.     
  47.     virtual long ReleaseScriptable();
  48.  
  49.     // ----- Token Type -----
  50.     
  51.     virtual ODDescType GetTokenType() const;
  52.  
  53.     // ----- Collection -----
  54.     
  55.     long                                 Count() const { return fRep->Count(); }
  56.  
  57.     void                                 Add(FW_MScriptable* element);
  58.     void                                Remove(FW_MScriptable* element);
  59.     
  60.     void                                AdjustMarks(Environment* ev, ODSLong newStart, ODSLong newStop);
  61.  
  62.     // ----- Relationship Descriptors -----
  63.     
  64.     virtual FW_CFrame*                    GetFrame(Environment* ev, FW_CPart* part) const;
  65.  
  66.     // ----- Core Events -----
  67.  
  68.     virtual void                         DoAECountElements(Environment* ev,
  69.                                                         FW_CPart* part,
  70.                                                         const FW_CAppleEvent& event,
  71.                                                         FW_CAppleEvent& reply);
  72.  
  73.     virtual void                        DoAEGetData(Environment* ev,
  74.                                                     FW_CPart* part,
  75.                                                     const FW_CAppleEvent& event,
  76.                                                     FW_CAppleEvent& reply);
  77.  
  78.     virtual void                        DoAESetData(Environment* ev,
  79.                                                     FW_CPart* part,
  80.                                                     const FW_CAppleEvent& event,
  81.                                                     FW_CAppleEvent& reply);
  82.  
  83.     virtual FW_Boolean                    HasProperty(ODDescType whichProperty) const;
  84.  
  85.     virtual void                         GetPropertyInfo(Environment* ev,    
  86.                                                         FW_CPart* part,
  87.                                                         FW_Boolean& canUndo,
  88.                                                         FW_Boolean& causesChange) const;
  89.  
  90.     virtual FW_Boolean                    GetProperty(Environment* ev, 
  91.                                                     FW_CPart* part,
  92.                                                     FW_CDesc& propertyValue, 
  93.                                                     ODDescType whichProperty,
  94.                                                     ODDescType desiredType = typeWildCard) const;
  95.                                                 
  96.     virtual void                        SetProperty(Environment* ev, 
  97.                                                     FW_CPart* part,
  98.                                                     FW_CDesc& propertyValue, 
  99.                                                     ODDescType whichProperty);
  100.                                                     
  101.     virtual void                        RestoreProperty(Environment* ev,
  102.                                                         FW_CPart* part,
  103.                                                         FW_CDesc& propertyValue,
  104.                                                         ODDescType whichProperty);
  105.                                                 
  106.     virtual void                        GetUndoStrings(Environment* ev,
  107.                                                     FW_CPart* part,
  108.                                                     ODDescType whichProperty,
  109.                                                     FW_CString& undoString,
  110.                                                     FW_CString& redoString) const;
  111.     // ----- Dependencies -----
  112.     
  113.     virtual void                        HandlePrimaryDeleted(FW_MScriptable* primary);
  114.  
  115. private:
  116.     
  117.     long                                    fRefCount;
  118.     FW_TOrderedCollection<FW_MScriptable>*     fRep;
  119. };
  120.  
  121. #endif